package com.tjc.media.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tjc.media.mapper.VideoAuthMapper;
import com.tjc.media.domain.VideoAuth;
import com.tjc.media.service.IVideoAuthService;

/**
 * 视频授权播放Service业务层处理
 * 
 * @author 大根教会
 * @date 2025-07-10
 */
@Service
public class VideoAuthServiceImpl implements IVideoAuthService 
{
    @Autowired
    private VideoAuthMapper videoAuthMapper;

    /**
     * 查询视频授权播放
     * 
     * @param authId 视频授权播放主键
     * @return 视频授权播放
     */
    @Override
    public VideoAuth selectVideoAuthByAuthId(Long authId)
    {
        return videoAuthMapper.selectVideoAuthByAuthId(authId);
    }

    /**
     * 查询视频授权播放列表
     * 
     * @param videoAuth 视频授权播放
     * @return 视频授权播放
     */
    @Override
    public List<VideoAuth> selectVideoAuthList(VideoAuth videoAuth)
    {
        return videoAuthMapper.selectVideoAuthList(videoAuth);
    }

    /**
     * 新增视频授权播放
     * 
     * @param videoAuth 视频授权播放
     * @return 结果
     */
    @Override
    public int insertVideoAuth(VideoAuth videoAuth)
    {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        videoAuth.setCreateTime(DateUtils.getNowDate());
        videoAuth.setCreateUserid(loginUser.getUserId());
        videoAuth.setUpdateUserid(loginUser.getUserId());
        return videoAuthMapper.insertVideoAuth(videoAuth);
    }

    /**
     * 修改视频授权播放
     * 
     * @param videoAuth 视频授权播放
     * @return 结果
     */
    @Override
    public int updateVideoAuth(VideoAuth videoAuth)
    {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        videoAuth.setUpdateTime(DateUtils.getNowDate());
        videoAuth.setUpdateUserid(loginUser.getUserId());
        return videoAuthMapper.updateVideoAuth(videoAuth);
    }

    /**
     * 批量删除视频授权播放
     * 
     * @param authIds 需要删除的视频授权播放主键
     * @return 结果
     */
    @Override
    public int deleteVideoAuthByAuthIds(Long[] authIds)
    {
        return videoAuthMapper.deleteVideoAuthByAuthIds(authIds);
    }

    /**
     * 删除视频授权播放信息
     * 
     * @param authId 视频授权播放主键
     * @return 结果
     */
    @Override
    public int deleteVideoAuthByAuthId(Long authId)
    {
        return videoAuthMapper.deleteVideoAuthByAuthId(authId);
    }
}
